Gosper Island
   HOME

TheInfoList



OR:

The Gosper curve, named after
Bill Gosper Ralph William Gosper Jr. (born April 26, 1943), known as Bill Gosper, is an American mathematician and programmer. Along with Richard Greenblatt, he may be considered to have founded the hacker community, and he holds a place of pride in the ...
, also known as the Peano-Gosper Curve and the flowsnake (a
spoonerism A spoonerism is an occurrence in speech in which corresponding consonants, vowels, or morphemes are switched (see metathesis) between two words in a phrase. These are named after the Oxford don and ordained minister William Archibald Spooner, w ...
of
snowflake A snowflake is a single ice crystal that has achieved a sufficient size, and may have amalgamated with others, which falls through the Earth's atmosphere as snow.Knight, C.; Knight, N. (1973). Snow crystals. Scientific American, vol. 228, no. ...
), is a
space-filling curve In mathematical analysis, a space-filling curve is a curve whose range contains the entire 2-dimensional unit square (or more generally an ''n''-dimensional unit hypercube). Because Giuseppe Peano (1858–1932) was the first to discover one, spa ...
whose limit set is rep-7. It is a
fractal curve A fractal curve is, loosely, a mathematical curve whose shape retains the same general pattern of irregularity, regardless of how high it is magnified, that is, its graph takes the form of a fractal. In general, fractal curves are nowhere rectif ...
similar in its construction to the
dragon curve A dragon curve is any member of a family of self-similar fractal curves, which can be approximated by recursive methods such as Lindenmayer systems. The dragon curve is probably most commonly thought of as the shape that is generated from repe ...
and the
Hilbert curve The Hilbert curve (also known as the Hilbert space-filling curve) is a continuous fractal space-filling curve first described by the German mathematician David Hilbert in 1891, as a variant of the space-filling Peano curves discovered by Giuseppe ...
. The Gosper curve can also be used for efficient hierarchical hexagonal clustering and indexing.


Algorithm


Lindenmayer system

The Gosper curve can be represented using an
L-system An L-system or Lindenmayer system is a parallel rewriting system and a type of formal grammar. An L-system consists of an alphabet of symbols that can be used to make strings, a collection of production rules that expand each symbol into som ...
with rules as follows: * Angle: 60° * Axiom: A * Replacement rules: ** A \mapsto A-B--B+A++AA+B- ** B \mapsto +A-BB--B-A++A+B In this case both A and B mean to move forward, + means to turn left 60 degrees and - means to turn right 60 degrees - using a "turtle"-style program such as
Logo A logo (abbreviation of logotype; ) is a graphic mark, emblem, or symbol used to aid and promote public identification and recognition. It may be of an abstract or figurative design or include the text of the name it represents as in a wo ...
.


Logo

A
Logo A logo (abbreviation of logotype; ) is a graphic mark, emblem, or symbol used to aid and promote public identification and recognition. It may be of an abstract or figurative design or include the text of the name it represents as in a wo ...
program to draw the Gosper curve using
turtle graphics In computer graphics, turtle graphics are vector graphics using a relative cursor (the "turtle") upon a Cartesian plane (x and y axis). Turtle graphics is a key feature of the Logo programming language. Overview The turtle has three attribut ...
: to rg :st :ln make "st :st - 1 make "ln :ln / sqrt 7 if :st > 0 g :st :ln rt 60 gl :st :ln rt 120 gl :st :ln lt 60 rg :st :ln lt 120 rg :st :ln rg :st :ln lt 60 gl :st :ln rt 60 if :st = 0 d :ln rt 60 fd :ln rt 120 fd :ln lt 60 fd :ln lt 120 fd :ln fd :ln lt 60 fd :ln rt 60end to gl :st :ln make "st :st - 1 make "ln :ln / sqrt 7 if :st > 0 t 60 rg :st :ln rt 60 gl :st :ln gl :st :ln rt 120 gl :st :ln rt 60 rg :st :ln lt 120 rg :st :ln lt 60 gl :st :ln if :st = 0 t 60 fd :ln rt 60 fd :ln fd :ln rt 120 fd :ln rt 60 fd :ln lt 120 fd :ln lt 60 fd :lnend The program can be invoked, for example, with rg 4 300, or alternatively gl 4 300.


Python

A
Python Python may refer to: Snakes * Pythonidae, a family of nonvenomous snakes found in Africa, Asia, and Australia ** ''Python'' (genus), a genus of Pythonidae found in Africa and Asia * Python (mythology), a mythical serpent Computing * Python (pro ...
program, that uses the aforementioned L-System rules, to draw the Gosper curve using turtle graphics
online version
: import turtle def gosper_curve(order: int, size: int, is_A: bool = True) -> None: """Draw the Gosper curve.""" if order

0: turtle.forward(size) return for op in "A-B--B+A++AA+B-" if is_A else "+A-BB--B-A++A+B": gosper_op_map porder - 1, size) gosper_op_map = size = 10 order = 3 gosper_curve(order, size)


Properties

The space filled by the curve is called the Gosper island. The first few iterations of it are shown below: The Gosper Island can
tile Tiles are usually thin, square or rectangular coverings manufactured from hard-wearing material such as ceramic, stone, metal, baked clay, or even glass. They are generally fixed in place in an array to cover roofs, floors, walls, edges, or o ...
the
plane Plane(s) most often refers to: * Aero- or airplane, a powered, fixed-wing aircraft * Plane (geometry), a flat, 2-dimensional surface Plane or planes may also refer to: Biology * Plane (tree) or ''Platanus'', wetland native plant * ''Planes' ...
. In fact, seven copies of the Gosper island can be joined to form a shape that is similar, but scaled up by a factor of in all dimensions. As can be seen from the diagram below, performing this operation with an intermediate iteration of the island leads to a scaled-up version of the next iteration. Repeating this process indefinitely produces a
tessellation A tessellation or tiling is the covering of a surface, often a plane, using one or more geometric shapes, called ''tiles'', with no overlaps and no gaps. In mathematics, tessellation can be generalized to higher dimensions and a variety o ...
of the plane. The curve itself can likewise be extended to an infinite curve filling the whole plane.


See also

*
List of fractals by Hausdorff dimension According to Benoit Mandelbrot, "A fractal is by definition a set for which the Hausdorff-Besicovitch dimension strictly exceeds the topological dimension." Presented here is a list of fractals, ordered by increasing Hausdorff dimension, to illus ...
*
M.C. Escher Maurits Cornelis Escher (; 17 June 1898 – 27 March 1972) was a Dutch graphic artist who made Mathematics and art, mathematically inspired woodcuts, lithography, lithographs, and mezzotints. Despite wide popular interest, Escher was for ...


References


External links


NEW GOSPER SPACE FILLING CURVESFRACTAL DE GOSPER
(in French)

at Wolfram MathWorld

{{Fractals Fractal curves